Update the context direction when emitting ::direction-changed
authorMatthias Clasen <mclasen@redhat.com>
Tue, 8 Feb 2011 01:37:09 +0000 (20:37 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 8 Feb 2011 01:37:09 +0000 (20:37 -0500)
This makes the flipping example in testgtk work as expected again.
https://bugzilla.gnome.org/show_bug.cgi?id=632775

gtk/gtkwidget.c

index b2f14db7a6f9e122f8c02ef85fe628fac0cb086a..3ac305062e138f01427b0cf6c95e802ae1fc6962 100644 (file)
@@ -10437,10 +10437,14 @@ gtk_widget_pop_composite_child (void)
 
 static void
 gtk_widget_emit_direction_changed (GtkWidget        *widget,
-                                  GtkTextDirection  old_dir)
+                                   GtkTextDirection  old_dir)
 {
   gtk_widget_update_pango_context (widget);
 
+  if (widget->priv->context)
+    gtk_style_context_set_direction (widget->priv->context,
+                                     gtk_widget_get_direction (widget));
+
   g_signal_emit (widget, widget_signals[DIRECTION_CHANGED], 0, old_dir);
 }
 
@@ -10464,7 +10468,7 @@ gtk_widget_emit_direction_changed (GtkWidget        *widget,
  **/
 void
 gtk_widget_set_direction (GtkWidget        *widget,
-                         GtkTextDirection  dir)
+                          GtkTextDirection  dir)
 {
   GtkTextDirection old_dir;
 
@@ -10476,13 +10480,7 @@ gtk_widget_set_direction (GtkWidget        *widget,
   widget->priv->direction = dir;
 
   if (old_dir != gtk_widget_get_direction (widget))
-    {
-      if (widget->priv->context)
-        gtk_style_context_set_direction (widget->priv->context,
-                                         gtk_widget_get_direction (widget));
-
-      gtk_widget_emit_direction_changed (widget, old_dir);
-    }
+    gtk_widget_emit_direction_changed (widget, old_dir);
 }
 
 /**